package com.tsd.system;


import com.tsd.core.vo.ExceptionCodeBase;

/**
 * 系统管理模块异常编码
 * 预留1000个编码，
 * 每个模块的编码基础需要在ExceptionCodeBase类里面设置对应的开始数字，不断进行加一
 *
 * @author wudw
 * @since 1.0.0
 */
public enum ResponseCodeSystem {

    ADMIN_INVALID_NAME(ExceptionCodeBase.EXCEPTION_CODE_BASE_SYSTEM + 1, "名称由数字或字母组成，长度为6-20位"),
    ADMIN_INVALID_PASSWORD(601, "管理员密码长度不能小于6"),
    ADMIN_NAME_EXIST(ExceptionCodeBase.EXCEPTION_CODE_BASE_SYSTEM + 2, "管理员名称已经存在");

    private final Integer code;
    private final String desc;

    ResponseCodeSystem(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public static ResponseCodeSystem getInstance(Integer code) {
        if (code != null) {
            for (ResponseCodeSystem tmp : ResponseCodeSystem.values()) {
                if (tmp.code.intValue() == code.intValue()) {
                    return tmp;
                }
            }
        }
        return null;
    }

    public Integer code() {
        return code;
    }

    public String desc() {
        return desc;
    }
}
